
https://leetcode.cn/problems/integer-replacement/description/
//class Solution {
//public:
//    int integerReplacement(int n)
//    {
//        int ret = 0;
//        while (n > 1)
//        {
//            if (n % 2 == 0) {
//                n = n / 2;
//                ret++;
//            }
//            else
//            {
//                if (n == 3) {
//                    n = 1;
//                }
//                else if (n % 4 == 1) {
//                    n = n / 2;
//                }
//                else {
//                    n = n / 2 + 1;
//                }
//                ret += 2;
//            }
//        }
//        return ret;
//    }
//};


https://leetcode.cn/problems/minimum-number-of-arrows-to-burst-balloons/
//class Solution {
//public:
//    int findMinArrowShots(vector<vector<int>>& points)
//    {
//        int n = points.size();
//
//        sort(points.begin(), points.end());
//        int right = points[0][1];
//
//        int ret = 1;
//        for (int i = 1; i < n; i++)
//        {
//            int a = points[i][0], b = points[i][1];
//            if (a <= right)
//            {
//                right = min(b, right);
//            }
//            else {
//                ret++;
//                right = b;
//            }
//        }
//        return ret;
//    }
//};